/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.its.dsw2.zapateriaLes.dao;

import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import mx.its.dsw2.zapateriaLes.Enum.Disponibilidad;
import mx.its.dsw2.zapateriaLes.modelo.Pedidos;
import mx.its.dsw2.zapateriaLes.modelo.Usuarios;

/**
 *
 * @author lesly
 */
@Stateless
public class PedidosDao extends AbstractDao<Pedidos> implements PedidosDaoLocal {
    @PersistenceContext(unitName = "DBZapateria-ejbPU")
    private EntityManager em;

    @Override
    protected EntityManager getEntityManager() {
        return em;
    }

    public PedidosDao() {
        super(Pedidos.class);
    }

    @Override
    public List <Pedidos> findAvailable(Usuarios user) {
    Query q=em.createNamedQuery("Pedidos.findAvailable");
    q.setParameter("id",Disponibilidad.AVAILABLE.ordinal());
    q.setParameter("idUsuarios", user.getId());
        return q.getResultList();
    }

    @Override
    public boolean findByDuplicity(Pedidos order) {
     Query q = em.createNamedQuery("Pedidos.findByDuplicity");
        q.setParameter("fecha", order.getFecha());
        q.setParameter("hora", order.getHora());
        q.setParameter("id", order.getId());
        q.setParameter("idUsuarios", order.getIdUsuarios());
        return !q.getResultList().isEmpty();
    }
    
}